﻿#pragma once
#include "mlogger.hpp"

/* 
 * mlogger使用: NETPCAP模块日志 
 * 日志级别: level::logger_level::trace
            level::logger_level::debug
            level::logger_level::info
            level::logger_level::warn
            level::logger_level::err
            level::logger_level::critical
 */
DECLARE_MODULE_LOGGER(NETPCAP);
#define NETPCAP_LOG_NAMESTR                        "NETPCAP"
/*模块日志初始化，统一采用日志对象blogger(外部输入) */
#define NETPCAP_LOG_INIT(bLogger)                  LOGGER_INIT(NETPCAP,NETPCAP_LOG_NAMESTR, bLogger);                       
/*模块日志动态级别设置, 参考级别如上*/
#define NETPCAP_LOG_SETLEVEL(logLevel,isTraceFunc) LOGGER_SET_LEVEL(NETPCAP,NETPCAP_LOG_NAMESTR,logLevel,isTraceFunc);

#define NETPCAP_LOG_GET_LEVEL()  mLogger_##NETPCAP::GetInstance().m_module_level_;

#define LOG_TRACE(...)                     LOGGER_TRACE(NETPCAP, __VA_ARGS__ );
#define LOG_DEBUG(...)                     LOGGER_DEBUG(NETPCAP, __VA_ARGS__ );
#define LOG_INFO(...)                      LOGGER_INFO(NETPCAP, __VA_ARGS__ );
#define LOG_WARN(...)                      LOGGER_WARN(NETPCAP, __VA_ARGS__ );
#define LOG_ERROR(...)                     LOGGER_ERR(NETPCAP, __VA_ARGS__ );
#define LOG_CRITICAL(...)                  LOGGER_CRITICAL(NETPCAP, __VA_ARGS__);
